package com.ruoyi.purchase.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * purchaseTrace对象 purchase_trace
 * 
 * @author kevinness
 * @date 2025-01-31
 */
public class PurchaseTrace extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    private String orderNo;

    /** 物流编号 */
    @Excel(name = "物流编号")
    private String logisticNo;

    /** 物流商名称 */
    @Excel(name = "物流商名称")
    private String logisticName;

    /** 负责人 */
    @Excel(name = "负责人")
    private String responsiblePerson;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 出港时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出港时间", width = 30, dateFormat = "yyyy-MM-dd")
    private String departureTime;

    /** 预计到达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计到达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectedDeliveryTime;

    /** 出港备注 */
    @Excel(name = "出港备注")
    private String departureRemarks;

    /** 实际到港时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际到港时间", width = 30, dateFormat = "yyyy-MM-dd")
    private String actualDeliveryTime;

    /** 收货负责人 */
    @Excel(name = "收货负责人")
    private String receiveManager;

    /** 负责人联系电话 */
    @Excel(name = "负责人联系电话")
    private String receiveContact;

    /** 到港备注 */
    @Excel(name = "到港备注")
    private String receiveRemarks;

    /** 收货人 */
    @Excel(name = "收货人")
    private String receiver;

    /** 收货时间 */
    @Excel(name = "收货时间")
    private String receiveTime;

    /** 发货地纬度 */
    private Double originLat;

    /** 发货地经度 */
    private Double originLng;

    /** 当前纬度 */
    private Double currentLat;

    /** 当前经度 */
    private Double currentLng;

    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }
    public void setLogisticNo(String logisticNo)
    {
        this.logisticNo = logisticNo;
    }

    public String getLogisticNo()
    {
        return logisticNo;
    }
    public void setLogisticName(String logisticName)
    {
        this.logisticName = logisticName;
    }

    public String getLogisticName()
    {
        return logisticName;
    }
    public void setResponsiblePerson(String responsiblePerson)
    {
        this.responsiblePerson = responsiblePerson;
    }

    public String getResponsiblePerson()
    {
        return responsiblePerson;
    }
    public void setContactPhone(String contactPhone)
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone()
    {
        return contactPhone;
    }
    public void setDepartureTime(String departureTime)
    {
        this.departureTime = departureTime;
    }

    public String getDepartureTime()
    {
        return departureTime;
    }
    public void setExpectedDeliveryTime(Date expectedDeliveryTime)
    {
        this.expectedDeliveryTime = expectedDeliveryTime;
    }

    public Date getExpectedDeliveryTime()
    {
        return expectedDeliveryTime;
    }
    public void setDepartureRemarks(String departureRemarks)
    {
        this.departureRemarks = departureRemarks;
    }

    public String getDepartureRemarks()
    {
        return departureRemarks;
    }
    public void setActualDeliveryTime(String actualDeliveryTime)
    {
        this.actualDeliveryTime = actualDeliveryTime;
    }

    public String getActualDeliveryTime()
    {
        return actualDeliveryTime;
    }
    public void setReceiveManager(String receiveManager)
    {
        this.receiveManager = receiveManager;
    }

    public String getReceiveManager()
    {
        return receiveManager;
    }
    public void setReceiveContact(String receiveContact)
    {
        this.receiveContact = receiveContact;
    }

    public String getReceiveContact()
    {
        return receiveContact;
    }
    public void setReceiveRemarks(String receiveRemarks)
    {
        this.receiveRemarks = receiveRemarks;
    }

    public String getReceiveRemarks()
    {
        return receiveRemarks;
    }
    public void setReceiver(String receiver)
    {
        this.receiver = receiver;
    }

    public String getReceiver()
    {
        return receiver;
    }
    public void setReceiveTime(String receiveTime)
    {
        this.receiveTime = receiveTime;
    }

    public String getReceiveTime()
    {
        return receiveTime;
    }

    public Double getOriginLat() {
        return originLat;
    }

    public void setOriginLat(Double originLat) {
        this.originLat = originLat;
    }

    public Double getOriginLng() {
        return originLng;
    }

    public void setOriginLng(Double originLng) {
        this.originLng = originLng;
    }

    public Double getCurrentLat() {
        return currentLat;
    }

    public void setCurrentLat(Double currentLat) {
        this.currentLat = currentLat;
    }

    public Double getCurrentLng() {
        return currentLng;
    }

    public void setCurrentLng(Double currentLng) {
        this.currentLng = currentLng;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("orderNo", getOrderNo())
                .append("logisticNo", getLogisticNo())
                .append("logisticName", getLogisticName())
                .append("responsiblePerson", getResponsiblePerson())
                .append("contactPhone", getContactPhone())
                .append("departureTime", getDepartureTime())
                .append("expectedDeliveryTime", getExpectedDeliveryTime())
                .append("departureRemarks", getDepartureRemarks())
                .append("actualDeliveryTime", getActualDeliveryTime())
                .append("receiveManager", getReceiveManager())
                .append("receiveContact", getReceiveContact())
                .append("receiveRemarks", getReceiveRemarks())
                .append("receiver", getReceiver())
                .append("receiveTime", getReceiveTime())
                .append("originLat", getOriginLat())
                .append("originLng", getOriginLng())
                .append("currentLat", getCurrentLat())
                .append("currentLng", getCurrentLng())
                .toString();
    }
}
